﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

namespace Entidades.Sistema.Distribucion
{
    public class DiagramacionDistribucion
    {
        private int _idDiagramacionDistribucion;
        private DateTime _fecha;
        private DateTime _fechaElaboracion;
        private DateTime _fechaCierre;
        private DateTime _fechaEntrega;
        private DiagramacionDistribucionEstado _estado;
        private List<DiagramacionDistribucionDetalle> CollDiagramacionDistribucionDetalle;


        public DiagramacionDistribucion()
        {
            CollDiagramacionDistribucionDetalle = new List<DiagramacionDistribucionDetalle>();
        }
        public int IdDiagramacionDistribucion
        {
            get { return _idDiagramacionDistribucion; }
            set { _idDiagramacionDistribucion = value; }
        }
        public DateTime Fecha
        {
            get { return _fecha; }
            set { _fecha = value; }
        }
        public DateTime FechaElaboracion
        {
            get { return _fechaElaboracion; }
            set { _fechaElaboracion = value; }
        }
        public DateTime FechaCierre
        {
            get { return _fechaCierre; }
            set { _fechaCierre = value; }
        }
        public DateTime FechaEntrega
        {
            get { return _fechaEntrega; }
            set { _fechaEntrega = value; }
        }
        public DiagramacionDistribucionEstado Estado
        {
            get { return _estado; }
            set { _estado = value; }
        }


        public List <DiagramacionDistribucionDetalle> Detalle
        {
            get { return CollDiagramacionDistribucionDetalle; }
        }

        public void AgregarDetalle(DiagramacionDistribucionDetalle det)
        {
            CollDiagramacionDistribucionDetalle.Add(det);
        }

        public void EliminarDetalle(DiagramacionDistribucionDetalle det)
        {
            //CollDiagramacionDistribucionDetalle.RemoveAll(x => x.Producto.IdProducto == det.Producto.IdProducto);
        }

        public enum DiagramacionDistribucionEstado
        {
            Creado = 0,
            Editada = 1,
            Entregada = 2,
            Finalizada = 3
        }
    }
}
